#pragma once
#include "Screen.h"
#include "MObject.h"
#include "Brick.h"
#include "Bullet.h"
#include "Info.h"
#include "CMarioSound.h"

class Turtle:public MObject
{
protected:
	shared_ptr<Sprite> _spriteMoveLeft;

	shared_ptr<Sprite> _spriteMoveRight;

	shared_ptr<Sprite> _spritePushed;

	shared_ptr<Sprite> _spriteThrowing;

	float _reAliveTime;

	float _immortalTime;

	float _timeScore;

	float _ty;

	float _tx;

	CInfo _info;

	static const int delta = 500;
public:
	Turtle(void);
	Turtle(float x, float y, int Width, int Height, float vx, float vy, int deltaTime, LPD3DXSPRITE spriteHandler, LPDIRECT3DTEXTURE9 image);
	Turtle(float x, float y, float vx, float vy, int deltaTime,int resourceName,CResourceManager *rm);
	~Turtle();
	void Move();
	void Render();
	void setVelocity(Vector v, shared_ptr<MObject> Object);

	void actAfterCollided(int Direction, shared_ptr<MObject> Object);
	void setStatus(int Status);

public:
	// STATUS CONSTANT
	static const int STATUS_ALIVE = 0;
	static const int STATUS_DYING = 1;
	static const int STATUS_DEAD = -1;
	static const int STATUS_PUSHED = 2;
	static const int STATUS_THROWING = -2;
};